
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPainter>
#include <QPaintEvent>     //画图工具
#include <QMouseEvent>  //鼠标移动
#include <QVector>
#include <QMessageBox>
#include "chessitem.h"


#define CHESS_R 15
#define CHESS_C 15
#define MAX_X   50
#define MAX_Y   50    //棋盘规格



QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow

{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();


private:
    void InitUI();//界面
    void DrawChessBoard();//棋盘的绘制
    void DrawMouseChess();//绘制鼠标上的棋子
    void DrawChessItem();//绘制棋盘上的棋子
    void DrawChessAtpoint(QPainter&painter,QPoint&point);
    //棋子的样式、位置
    int CountNearItem(ChessItem item,QPoint pt);//判断棋子是否五子连接


protected:
    void paintEvent(QPaintEvent *event);//实时绘制界面
    void mousePressEvent(QMouseEvent *event);//鼠标点击

private:
    Ui::MainWindow *ui;
    bool b_black;//棋子颜色
    QVector<ChessItem> p_ChessItem;//棋子数量的定义
};

#endif // MAINWINDOW_H
